package com.lw.lwte.common.util;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;

import java.io.File;
import java.io.IOException;
import java.util.Map;

public class JsonUtils {

    private static final ObjectMapper objectMapper = new ObjectMapper();

    static {
        // 配置ObjectMapper以美化输出的JSON（可选）
        objectMapper.enable(SerializationFeature.INDENT_OUTPUT);
    }

    /**
     * 将Map转换为JSON格式并输出到指定文件。
     *
     * @param json   要转换的Map对象
     * @param path   输出文件的路径
     * @throws IOException 如果写入文件时发生错误
     */
    public static void writeJsonToFile(Map<String, Object> json, String path) throws IOException {
        File file = new File(path);
        // 确保父目录存在
        File parentDir = file.getParentFile();
        if (parentDir != null && !parentDir.exists()) {
            parentDir.mkdirs();
        }
        // 将Map写入文件
        objectMapper.writeValue(file, json);
    }
}